/*!
 * clipboard.js v2.0.8
 * https://clipboardjs.com/
 *
 * Licensed MIT © Zeno Rocha
 */
! function(t, e) {
	"object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define &&
		define.amd ? define([], e) : "object" == typeof exports ? exports.ClipboardJS = e() : t.ClipboardJS = e()
}(this, function() {
	return n = {
		134: function(t, e, n) {
			"use strict";
			n.d(e, {
				default: function() {
					return r
				}
			});
			var e = n(279),
				i = n.n(e),
				e = n(370),
				a = n.n(e),
				e = n(817),
				o = n.n(e);

			function c(t) {
				return (c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(
				t) {
					return typeof t
				} : function(t) {
					return t && "function" == typeof Symbol && t.constructor === Symbol && t !==
						Symbol.prototype ? "symbol" : typeof t
				})(t)
			}

			function u(t, e) {
				for (var n = 0; n < e.length; n++) {
					var r = e[n];
					r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !
						0), Object.defineProperty(t, r.key, r)
				}
			}
			var l = function() {
				function e(t) {
					! function(t) {
						if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
					}(this), this.resolveOptions(t), this.initSelection()
				}
				var t, n, r;
				return t = e, (n = [{
					key: "resolveOptions",
					value: function() {
						var t = 0 < arguments.length && void 0 !== arguments[0] ?
							arguments[0] : {};
						this.action = t.action, this.container = t.container, this
							.emitter = t.emitter, this.target = t.target, this.text = t
							.text, this.trigger = t.trigger, this.selectedText = ""
					}
				}, {
					key: "initSelection",
					value: function() {
						this.text ? this.selectFake() : this.target && this
							.selectTarget()
					}
				}, {
					key: "createFakeElement",
					value: function() {
						var t = "rtl" === document.documentElement.getAttribute("dir");
						this.fakeElem = document.createElement("textarea"), this
							.fakeElem.style.fontSize = "12pt", this.fakeElem.style
							.border = "0", this.fakeElem.style.padding = "0", this
							.fakeElem.style.margin = "0", this.fakeElem.style.position =
							"absolute", this.fakeElem.style[t ? "right" : "left"] =
							"-9999px";
						t = window.pageYOffset || document.documentElement.scrollTop;
						return this.fakeElem.style.top = "".concat(t, "px"), this
							.fakeElem.setAttribute("readonly", ""), this.fakeElem
							.value = this.text, this.fakeElem
					}
				}, {
					key: "selectFake",
					value: function() {
						var t = this,
							e = this.createFakeElement();
						this.fakeHandlerCallback = function() {
								return t.removeFake()
							}, this.fakeHandler = this.container.addEventListener(
								"click", this.fakeHandlerCallback) || !0, this.container
							.appendChild(e), this.selectedText = o()(e), this
						.copyText(), this.removeFake()
					}
				}, {
					key: "removeFake",
					value: function() {
						this.fakeHandler && (this.container.removeEventListener("click",
								this.fakeHandlerCallback), this.fakeHandler = null,
							this.fakeHandlerCallback = null), this.fakeElem && (this
							.container.removeChild(this.fakeElem), this.fakeElem =
							null)
					}
				}, {
					key: "selectTarget",
					value: function() {
						this.selectedText = o()(this.target), this.copyText()
					}
				}, {
					key: "copyText",
					value: function() {
						var e;
						try { 
							e = document.execCommand(this.action)
						} catch (t) {
							e = !1
						}
						this.handleResult(e)
					}
				}, {
					key: "handleResult",
					value: function(t) {
						this.emitter.emit(t ? "success" : "error", {
							action: this.action,
							text: this.selectedText,
							trigger: this.trigger,
							clearSelection: this.clearSelection.bind(this)
						})
					}
				}, {
					key: "clearSelection",
					value: function() {
						this.trigger && this.trigger.focus(), document.activeElement
							.blur(), window.getSelection().removeAllRanges()
					}
				}, {
					key: "destroy",
					value: function() {
						this.removeFake()
					}
				}, {
					key: "action",
					set: function() {
						var t = 0 < arguments.length && void 0 !== arguments[0] ?
							arguments[0] : "copy";
						if (this._action = t, "copy" !== this._action && "cut" !== this
							._action) throw new Error(
							'Invalid "action" value, use either "copy" or "cut"'
							)
					},
					get: function() {
						return this._action
					}
				}, {
					key: "target",
					set: function(t) {
						if (void 0 !== t) {
							if (!t || "object" !== c(t) || 1 !== t.nodeType)
							throw new Error(
									'Invalid "target" value, use a valid Element');
							if ("copy" === this.action && t.hasAttribute("disabled"))
								throw new Error(
									'Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute'
									);
							if ("cut" === this.action && (t.hasAttribute("readonly") ||
									t.hasAttribute("disabled"))) throw new Error(
								'Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes'
								);
							this._target = t
						}
					},
					get: function() {
						return this._target
					}
				}]) && u(t.prototype, n), r && u(t, r), e
			}();

			function s(t) {
				return (s = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(
				t) {
					return typeof t
				} : function(t) {
					return t && "function" == typeof Symbol && t.constructor === Symbol && t !==
						Symbol.prototype ? "symbol" : typeof t
				})(t)
			}

			function f(t, e) {
				for (var n = 0; n < e.length; n++) {
					var r = e[n];
					r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !
						0), Object.defineProperty(t, r.key, r)
				}
			}

			function h(t, e) {
				return (h = Object.setPrototypeOf || function(t, e) {
					return t.__proto__ = e, t
				})(t, e)
			}

			function d(n) {
				var r = function() {
					if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
					if (Reflect.construct.sham) return !1;
					if ("function" == typeof Proxy) return !0;
					try {
						return Date.prototype.toString.call(Reflect.construct(Date, [], function() {})),
							!0
					} catch (t) {
						return !1
					}
				}();
				return function() {
					var t, e = p(n);
					return t = r ? (t = p(this).constructor, Reflect.construct(e, arguments, t)) : e
						.apply(this, arguments), e = this, !(t = t) || "object" !== s(t) &&
						"function" != typeof t ? function(t) {
							if (void 0 !== t) return t;
							throw new ReferenceError(
								"this hasn't been initialised - super() hasn't been called")
						}(e) : t
				}
			}

			function p(t) {
				return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function(t) {
					return t.__proto__ || Object.getPrototypeOf(t)
				})(t)
			}

			function y(t, e) {
				t = "data-clipboard-".concat(t);
				if (e.hasAttribute(t)) return e.getAttribute(t)
			}
			var r = function() {
				! function(t, e) {
					if ("function" != typeof e && null !== e) throw new TypeError(
						"Super expression must either be null or a function");
					t.prototype = Object.create(e && e.prototype, {
						constructor: {
							value: t,
							writable: !0,
							configurable: !0
						}
					}), e && h(t, e)
				}(o, i());
				var t, e, n, r = d(o);

				function o(t, e) {
					var n;
					return function(t) {
						if (!(t instanceof o)) throw new TypeError(
							"Cannot call a class as a function")
					}(this), (n = r.call(this)).resolveOptions(e), n.listenClick(t), n
				}
				return t = o, n = [{
					key: "isSupported",
					value: function() {
						var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[
								0] : ["copy", "cut"],
							t = "string" == typeof t ? [t] : t,
							e = !!document.queryCommandSupported;
						return t.forEach(function(t) {
							e = e && !!document.queryCommandSupported(t)
						}), e
					}
				}], (e = [{
					key: "resolveOptions",
					value: function() {
						var t = 0 < arguments.length && void 0 !== arguments[0] ?
							arguments[0] : {};
						this.action = "function" == typeof t.action ? t.action : this
							.defaultAction, this.target = "function" == typeof t
							.target ? t.target : this.defaultTarget, this.text =
							"function" == typeof t.text ? t.text : this.defaultText,
							this.container = "object" === s(t.container) ? t.container :
							document.body
					}
				}, {
					key: "listenClick",
					value: function(t) {
						var e = this;
						this.listener = a()(t, "click", function(t) {
							return e.onClick(t)
						})
					}
				}, {
					key: "onClick",
					value: function(t) {
						t = t.delegateTarget || t.currentTarget;
						this.clipboardAction && (this.clipboardAction = null), this
							.clipboardAction = new l({
								action: this.action(t),
								target: this.target(t),
								text: this.text(t),
								container: this.container,
								trigger: t,
								emitter: this
							})
					}
				}, {
					key: "defaultAction",
					value: function(t) {
						return y("action", t)
					}
				}, {
					key: "defaultTarget",
					value: function(t) {
						t = y("target", t);
						if (t) return document.querySelector(t)
					}
				}, {
					key: "defaultText",
					value: function(t) {
						return y("text", t)
					}
				}, {
					key: "destroy",
					value: function() {
						this.listener.destroy(), this.clipboardAction && (this
							.clipboardAction.destroy(), this.clipboardAction = null)
					}
				}]) && f(t.prototype, e), n && f(t, n), o
			}()
		},
		828: function(t) {
			var e;
			"undefined" == typeof Element || Element.prototype.matches || ((e = Element.prototype).matches =
				e.matchesSelector || e.mozMatchesSelector || e.msMatchesSelector || e
				.oMatchesSelector || e.webkitMatchesSelector), t.exports = function(t, e) {
				for (; t && 9 !== t.nodeType;) {
					if ("function" == typeof t.matches && t.matches(e)) return t;
					t = t.parentNode
				}
			}
		},
		438: function(t, e, n) {
			var a = n(828);

			function i(t, e, n, r, o) {
				var i = function(e, n, t, r) {
					return function(t) {
						t.delegateTarget = a(t.target, n), t.delegateTarget && r.call(e, t)
					}
				}.apply(this, arguments);
				return t.addEventListener(n, i, o), {
					destroy: function() {
						t.removeEventListener(n, i, o)
					}
				}
			}
			t.exports = function(t, e, n, r, o) {
				return "function" == typeof t.addEventListener ? i.apply(null, arguments) :
					"function" == typeof n ? i.bind(null, document).apply(null, arguments) : (
						"string" == typeof t && (t = document.querySelectorAll(t)), Array.prototype.map
						.call(t, function(t) {
							return i(t, e, n, r, o)
						}))
			}
		},
		879: function(t, n) {
			n.node = function(t) {
				return void 0 !== t && t instanceof HTMLElement && 1 === t.nodeType
			}, n.nodeList = function(t) {
				var e = Object.prototype.toString.call(t);
				return void 0 !== t && ("[object NodeList]" === e || "[object HTMLCollection]" === e) &&
					"length" in t && (0 === t.length || n.node(t[0]))
			}, n.string = function(t) {
				return "string" == typeof t || t instanceof String
			}, n.fn = function(t) {
				return "[object Function]" === Object.prototype.toString.call(t)
			}
		},
		370: function(t, e, n) {
			var l = n(879),
				s = n(438);
			t.exports = function(t, e, n) {
				if (!t && !e && !n) throw new Error("Missing required arguments");
				if (!l.string(e)) throw new TypeError("Second argument must be a String");
				if (!l.fn(n)) throw new TypeError("Third argument must be a Function");
				if (l.node(t)) return c = e, u = n, (a = t).addEventListener(c, u), {
					destroy: function() {
						a.removeEventListener(c, u)
					}
				};
				if (l.nodeList(t)) return r = t, o = e, i = n, Array.prototype.forEach.call(r, function(
					t) {
					t.addEventListener(o, i)
				}), {
					destroy: function() {
						Array.prototype.forEach.call(r, function(t) {
							t.removeEventListener(o, i)
						})
					}
				};
				if (l.string(t)) return t = t, e = e, n = n, s(document.body, t, e, n);
				throw new TypeError(
					"First argument must be a String, HTMLElement, HTMLCollection, or NodeList");
				var r, o, i, a, c, u
			}
		},
		817: function(t) {
			t.exports = function(t) {
				var e, n = "SELECT" === t.nodeName ? (t.focus(), t.value) : "INPUT" === t.nodeName ||
					"TEXTAREA" === t.nodeName ? ((e = t.hasAttribute("readonly")) || t.setAttribute(
							"readonly", ""), t.select(), t.setSelectionRange(0, t.value.length), e || t
						.removeAttribute("readonly"), t.value) : (t.hasAttribute("contenteditable") && t
						.focus(), n = window.getSelection(), (e = document.createRange())
						.selectNodeContents(t), n.removeAllRanges(), n.addRange(e), n.toString());
				return n
			}
		},
		279: function(t) {
			function e() {}
			e.prototype = {
				on: function(t, e, n) {
					var r = this.e || (this.e = {});
					return (r[t] || (r[t] = [])).push({
						fn: e,
						ctx: n
					}), this
				},
				once: function(t, e, n) {
					var r = this;

					function o() {
						r.off(t, o), e.apply(n, arguments)
					}
					return o._ = e, this.on(t, o, n)
				},
				emit: function(t) {
					for (var e = [].slice.call(arguments, 1), n = ((this.e || (this.e = {}))[t] ||
						[]).slice(), r = 0, o = n.length; r < o; r++) n[r].fn.apply(n[r].ctx, e);
					return this
				},
				off: function(t, e) {
					var n = this.e || (this.e = {}),
						r = n[t],
						o = [];
					if (r && e)
						for (var i = 0, a = r.length; i < a; i++) r[i].fn !== e && r[i].fn._ !==
							e && o.push(r[i]);
					return o.length ? n[t] = o : delete n[t], this
				}
			}, t.exports = e, t.exports.TinyEmitter = e
		}
	}, o = {}, r.n = function(t) {
		var e = t && t.__esModule ? function() {
			return t.default
		} : function() {
			return t
		};
		return r.d(e, {
			a: e
		}), e
	}, r.d = function(t, e) {
		for (var n in e) r.o(e, n) && !r.o(t, n) && Object.defineProperty(t, n, {
			enumerable: !0,
			get: e[n]
		})
	}, r.o = function(t, e) {
		return Object.prototype.hasOwnProperty.call(t, e)
	}, r(134).default;

	function r(t) {
		if (o[t]) return o[t].exports;
		var e = o[t] = {
			exports: {}
		};
		return n[t](e, e.exports, r), e.exports
	}
	var n, o
});